<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <style>
      /* 填写样式 */
    </style>
  </head>

  <body>
    <!-- 填写标签 -->
    <script type="text/javascript">
      // 填写JavaScript
      /**
         * 按所给的时间格式输出指定的时间
          格式说明
          对于 2014.09.05 13:14:20
          yyyy: 年份，2014
          yy: 年份，14
          MM: 月份，补满两位，09
          M: 月份, 9
          dd: 日期，补满两位，05
          d: 日期, 5
          HH: 24制小时，补满两位，13
          H: 24制小时，13
          hh: 12制小时，补满两位，01
          h: 12制小时，1
          mm: 分钟，补满两位，14
          m: 分钟，14
          ss: 秒，补满两位，20
          s: 秒，20
          w: 星期，为 ['日', '一', '二', '三', '四', '五', '六'] 中的某一个，本 demo 结果为 五
          
          formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
          2014-09-05 13:14:20 星期五
        */

       function formatDate(dataObj, formatStr) {
        let addZero = function (data) {
          if (data < 10) {
            return '0' + data
          }
          return data
        }
        let obj = {
          'yyyy': dataObj.getFullYear(),
          'yy': dataObj.getFullYear() % 100,
          'MM': addZero(dataObj.getMonth() + 1),
          'M': dataObj.getMonth() + 1,
          'dd': addZero(dataObj.getDate()),
          'd': dataObj.getDate(),
          'HH': addZero(dataObj.getHours()),
          'H': dataObj.getHours(),
          'hh': addZero(dataObj.getHours() % 12),
          'h': dataObj.getHours() % 12,
          'mm': addZero(dataObj.getMinutes()),
          'm': dataObj.getMinutes(),
          'ss': addZero(dataObj.getSeconds()),
          's': dataObj.getSeconds(),
          'w': function () {
            arr = ['日', '一', '二', '三', '四', '五', '六']
            return arr[dataObj.getDay()]
          }()
        }
        for (let i in obj) {
          formatStr = formatStr.replace(i, obj[i])
        }
        return formatStr
      }
      // console.log(formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w'))
    </script>
  </body>
</html>
